package com.telaxo.shooter2012.explosions {
	import flash.events.ProgressEvent;
	import flash.net.URLRequest;
	import flash.display.Loader;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.display.Stage;

	/**
	 * @author Benjamin
	 */
	public class MiniExplosion extends MovieClip {
		private var stageRef : Stage;
		// Récupération de l'image du vaisseau
		[Embed(source="../gfx/swf/Implosion.swf")]
		private var Ressource : Class;
		private var image : MovieClip;

		public function MiniExplosion(s : Stage, x : Number, y : Number) {
			stageRef = s;
			this.x = x;
			this.y = y;
			image = new MovieClip();
			// Ajout de l'image du vaisseau
			loadSWF("C:/workspace/tutoriel_shooter2012/src/com/telaxo/shooter2012/gfx/swf/Implosion.swf");
			// Evénement
			addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
		}

		// Boucle de l'explosion
		private function loop(pEvt : Event) : void {
			if (image.currentFrame == image.totalFrames) supprimerExplosion();
		}

		// Supprime l'explosion
		private function supprimerExplosion() : void {
			removeEventListener(Event.ENTER_FRAME, loop);
			if (stageRef.contains(this)) {
				stageRef.removeChild(this);
			}
		}

		// Charge le swf correspondant à l'explosion
		private function loadSWF(swfURL : String) : void {
			var myLoader : Loader = new Loader();
			var mySWF : URLRequest = new URLRequest(swfURL);
			myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
			myLoader.load(mySWF);
		}

		private function onCompleteHandler(loadEvent : Event) : void {
			image = loadEvent.currentTarget.content;
			addChild(image);
			image.play();
			addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
		}
	}
}
